#ifndef COMM_H
#define COMM_H

#include <iostream>
#include <string>
#include <vector>
#include <cstdlib>
#include "Socket.h"
#include "Sim.h" 
#include "Utils.h"



//HACK!
static SocketClient* clientSenderSocket = NULL;
/*============================================================================*/
using namespace std;

class Comm {
	public:
		static const int ServerStartingPort = 14653;
		static void ServerSender(void*);
		static void ServerConnectionRecvr(void*);
		static void ServerRecvr(void*);
		static void ClientSender(void*, string);
		static void ClientRecvr(void*);
		static string getLocalIP();
	private:
		//define the update commands
		static const int INIT_ORBITAL_BODY = 1;
		static const int INIT_DEBRIS_BODY = 2;
		static const int UPDATE_ORBITAL_BODY = 3;
		static const int UPDATE_DEBRIS_BODY = 4;
		static const int CLIENT_SIM_START = 5;
		static const int SEND_GAME_INFO = 6;
		
};

//SocketClient* Comm::clientSenderSocket = NULL;


#endif     /*  COMM_H  */